home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 029a / chg202.zip / CHANGE.DOC next >
Text File  |  1991-12-01  |  27KB  |  549 lines

  1.  
  2.  
  3.    CHANGE User Manual
  4.  
  5.    Utility:     CHANGE v2.02
  6.    Date:        24-Nov-1991
  7.    Last Update: 18-Mar-1991
  8.  
  9.    This work is (c) Copyright 1989'90'91 by:
  10.    John W. Clinton                       
  11.    P.O. Box 678                          Bix Mail Id       : JClinton
  12.    Boston, MA 02136                      CompuServe Account: 70244,1340
  13.                                          Telephone         : (617) 364-4515
  14.    All rights reserved.
  15.  
  16.    Please pass this software around to your friends and  associates.   Feel
  17.    free  to use this software for a month.  If you find CHANGE as useful as
  18.    I do, please Register!.  Full registration is only $25.00 in U.S. funds.
  19.  
  20.    Registered Users receive  the  latest  advertisement-free version of the
  21.    software via Bix, CompuServ or return  mail and will receive all updates
  22.    made to CHANGE for 1 year from  the date of registration.  Updates  have
  23.    been averaging one  every  four to six  months.  Registered  versions of
  24.    the software are smaller  and  run  faster, they do not  have any of the
  25.    advertising  or  other  annoying  banners,  all  of  the  output  may be
  26.    redirected  using  DOS  redirection   operators  or  may  be  suppressed
  27.    completely.  Any special  modifications you may require are available to
  28.    registered users by  special  arrangement.  As a matter  of  policy I do
  29.    not currently make the  source for CHANGE available to anyone.
  30.  
  31.                     Help support the Shareware Concept!
  32.  
  33.    Disclaimer:
  34.  
  35.    This software is provided 'as is' and is without  any  warranty  of  any
  36.    kind,  whether  express  or  implied,  including, but not limited to the
  37.    implied warranties of fitness for a particular purpose.  I will  not  be
  38.    liable  for  any special, indirect, incidental, consequential or similar
  39.    damages due to any loss of any kind related to the use of this  software
  40.    or  for any other reason, even if I or an agent of mine has been advised
  41.    of the possibility of such damages.  In no event shall my liability  for
  42.    any  damages ever exceed the price paid for the license to use software,
  43.    regardless of the form of the claim.  The person  choosing  to  use  the
  44.    software  assumes any and all risks as to the quality and performance of
  45.    the software.
  46.  
  47.    Acknowlegements:
  48.  
  49.    Special thanks to my wife Loretta for putting up with all of the time  I
  50.    put in on these little projects.
  51.  
  52.    Thanks to Roedy Green for his constructive feedback on the  program  and
  53.    documentation.
  54.  
  55.    Description:
  56.  
  57.    CHANGE allows you to make global changes to the contents of  files.   It
  58.    works  in  much  the  same  way  as your favorite word processors global
  59.  
  60.                                      1
  61.  
  62.                                 CHANGE v2.02
  63.  
  64.  
  65.    change feature.
  66.  
  67.    There are two major differences.
  68.  
  69.      o  The change(s)  can be propagated through all of the files  in a set
  70.         of comma delimited wildcard filespecs on the command line. This can
  71.         include all files in all subdirectories of the current subdirectory
  72.         or every directory on all disks attached to the system.
  73.  
  74.      o  You may specify many changes to be made with one  pass  through the
  75.         file(s).
  76.  
  77.    This utility is indispensable when:
  78.      o  Working with a large number of  source files and you need to change
  79.         variable or function names, literals, etc. globally.
  80.      o  Working on old code  and  you  want  to retrofit it with new naming
  81.         standards to bring the code up to date.
  82.      o  Anytime there are  a  large  number  of files and a large number of
  83.         changes that need to be made quickly.
  84.  
  85.    Usage
  86.  
  87.    If no parameters are passed  in  to  CHANGE  a  usage  summary  will  be
  88.    printed.  Additional help is available by using the /HELP switch.
  89.  
  90.    In general:
  91.  
  92.     Usage:
  93.     CHANGE <filespeclist> <matchString> <replacementString> [...] [/switches]
  94.  
  95.     CHANGE - locates all occurances of  the  specified file(s) and replaces
  96.              the search string(s) with the specified replacement string(s).
  97.  
  98.     Each filespec  in the  <filespeclist>  may  contain  a  drive, path and
  99.     filename.  The drive is  the  volume  that will be searched.  All files
  100.     matching the files in the <filespeclist> will be search and modified as
  101.     needed.
  102.  
  103.     Examples:
  104.  
  105.      CHANGE *.c 'aa' 'bb'
  106.        Change all C sources in the current directory.  Make 'aa' into 'bb'.
  107.  
  108.      CHANGE SRC\*.C,INC\*.H,TMP\*.* 'foo','foobar'
  109.        Change all  C  source  files  in .\SRC, all Headers in .\INC and all
  110.        files in .\TMP.   Make 'foo' into 'foobar'.
  111.  
  112.  
  113.     Search and Replace strings are  single words or quoted strings.  Either
  114.     single or double quotes will  do.  Everything  on  the  command line is
  115.     uppercased   unless  surrounded  by  quotes.  The  Search  and  Replace
  116.     parameters may be  separated  by  spaces or commas.  If DOS redirection
  117.     characters are part  of  any  string  on  the command line they MUST be
  118.     surrounded by DOUBLE QUOTES!  That  is the ONLY way to prevent DOS from
  119.     usurping them.
  120.  
  121.                                      2
  122.  
  123.                                 CHANGE v2.02
  124.  
  125.      Currently supported switches:
  126.                      (Only the upper case characters are required.)
  127.  
  128.        /Help               - Displays this message.
  129.  
  130.        /ALL                - Causes all fixed drives to be searched.
  131.  
  132.        /SHow_context       - Causes the line that matched to be displayed prior
  133.           to the change and prompts the user to confirm that specific change.
  134.           Changes may be allowed (Press 'Y'); Disallowed (press 'N' or RETURN);
  135.           Make all of the changes found from here to the end of this file,
  136.           (press ^Z); Make no more changes to this file, but keep the changes
  137.           made so far (press ESC); or abort the changes made to this file
  138.           completely, (press '^C').  Press ? for additional help at the CHANGE
  139.           prompt.  The default is /NOSHow_context in CHANGE as shipped, See the
  140.           notes on the CHGINST program below.
  141.  
  142.        /[NO]Prefix_change      - Only make the CHANGE if the matchstring is at the
  143.           beginning of a string.  Match 'thisx', not 'xthisx' or 'xthis'.
  144.  
  145.        /[NO]SUffix_change      - Only make the CHANGE if the matchstring is at the
  146.           end of a string.  Match 'xthis', not 'xthisx' or 'thisx'.
  147.  
  148.        /[NO]Whole_words        - Only make a CHANGE if the matchstring is a whole
  149.           surrounded by nonalphanumerics.  Match 'this', not 'xthis' or 'thisx'.
  150.  
  151.        /[NO]Subdirectories - Causes all subdirectories of the current one to be
  152.           searched.
  153.           The default is /NOSUbdirectories in CHANGE as shipped, See the notes on the
  154.           CHGINST program below.
  155.  
  156.        /[NO]Case_sensitive - Allows the searching to be performed respecting
  157.           the case of the match and replacement strings.
  158.           The default is /NOCASE_SENSITIVE in CHANGE as shipped, See the notes on the
  159.           CHGINST program below.
  160.  
  161.        /[NO]Unique_bak     - Guarantees that backup files created will be unique.
  162.           This will prevent CHANGE from deleting a backup file that already
  163.           exists.  CHANGE automatically enables this option when wildcard
  164.           filespecs (like TEST.*) are specified that can overwrite backup files
  165.           that CHANGE just created.
  166.           The default is /Unique_bak in CHANGE as shipped, See the notes on the
  167.           CHGINST program below.
  168.  
  169.        /Binary_file        - This option allows files containing <EOF> characters
  170.           or search strings that span <CR><LF> sequences to be processed.
  171.           /Text_file and /Binary_file are mutually exclusive, /Binary_file takes
  172.           precedence if both are found on the command line.
  173.           This is a synonym for /NOText_file
  174.           /Binary_file is the default in CHANGE as shipped, See the notes on
  175.           the CHGINST program below.
  176.  
  177.        /Text_file          - This option processes files about 2 times faster
  178.           than Binary_file mode. => Note the restrictions listed below.
  179.  
  180.  
  181.  
  182.                                      3
  183.  
  184.                                 CHANGE v2.02
  185.  
  186.           This is a synonym for /NOBinary_mode
  187.  
  188.        /[NO]Floppysize=n   - Defines the size in KB of the largest floppy on
  189.           your system you want searched.  By default drives a: and B: are not 
  190.           checked at all.  EX: /ALL/FLOPPYSIZE=1200 would check the size of each
  191.           drive before searching.  Only those 1.2MB and up would be searched.
  192.  
  193.        /[NO]COnfirm_change - Prompts for permission to make changes to each
  194.           FILESPEC matched that actually contains a match. This allows the user
  195.           to selectively modify files.
  196.  
  197.        /ANy_attribute      - Change all files matching the FILESPEC, regardless
  198.           of special file attributes. /CONFIRM_CHANGE option is set by default,
  199.           but may be overridden.
  200.  
  201.        /[NO]Log            - Do [NOT] write progress messages to the console.
  202.           The default is /NOLog in CHANGE as shipped, See the notes on the
  203.           CHGINST program below.
  204.  
  205.        /[NO]BACKups        - Do [NOT] rename the original files to .BAK.
  206.           The default is /BACKups in CHANGE as shipped, See the notes on the
  207.           CHGINST program below.
  208.  
  209.    CHANGE is now being shipped with a utility called CHGINST.  (new  as  of
  210.    v2.00)
  211.  
  212.    This program allows you to reconfigure the defaults of the most commonly
  213.    used (but not all) switches to suit your own specific needs.
  214.  
  215.    To use CHGINST just run it from the command line.  It  will  search  for
  216.    CHANGE  in  the  current  directory  and  along the DOS PATH.  If change
  217.    cannot be found it will stop and suggest the following:
  218.  
  219.    Either move CHANGE into the same directory  with  CHGINST,  move  CHANGE
  220.    into a directory along your DOS PATH, or invoke CHGINST with the name of
  221.    the directory that CHANGE is in as a parameter.
  222.  
  223.    Ex:
  224.        CHANGE is in C:\NEWSTUFF and CHGINST is in C:\ use
  225.        CHGINST                -> if C:\NEWSTUFF is in your PATH,
  226.        CHGINST C:\NEWSTUFF    -> if C:\NEWSTUFF is NOT in your PATH.
  227.  
  228.        Note:
  229.          CHGINST DOES depend on CHANGE being called CHANGE.EXE!
  230.  
  231.    General command line handling:
  232.  
  233.    Switches may be placed anywhere on the command line except within quoted
  234.    strings.   Switches  may  be  abbreviated  to the smallest unique string
  235.    among the switches the program supports.
  236.  
  237.    The minimum number of characters  required  for  each of the switches is
  238.    indicated by the uppercase part  of the switch names on the help screen.
  239.  
  240.    Everything  on  the  command  line  is  converted  to  uppercase  unless
  241.    surrounded  by  quotes.   Both  double  (")  and  single  (') quotes are
  242.  
  243.                                      4
  244.  
  245.                                 CHANGE v2.02
  246.  
  247.    supported.  If your string(s) contain the DOS re-direction operators < >
  248.    or  |  then you MUST enclose the string in DOUBLE QUOTES!  Double Quotes
  249.    will prevent DOS  from  using  them  for  redirection  of  the  standard
  250.    input/output files.  The console output of CHANGE may be redirected.
  251.  
  252.    Non printable characters may be placed into the quoted  strings  on  the
  253.    command  line or in indirect files (discussed below) using the following
  254.    syntax: #nnn or ^a where 'nnn' is the Decimal ASCII code for the desired
  255.    character and 'a' is  '@'..'Z'  corresponding to ^@  through ^Z.  If the
  256.    end of line characters of a text file (CR and/or LF)  are being modified
  257.    the file  MUST  be  converted  in  /BINARY_MODE  (the default).
  258.  
  259.    Ex.  ^G     - also the ASCII BEL character.
  260.         5#0075 - would be converted to 5's surrounding a BEL.
  261.         x#7x   - would be converted to x's surrounding a BEL.
  262.  
  263.    The leading zeros are required in  ex. 3  to keep the other numbers from
  264.    confusing  CHANGE.  They  may  be  omitted when there is only one way to
  265.    interpet the data.  These special characters may appear in your data as
  266.    long as they are unambiguous.  When in doubt, use two special characters
  267.    to get one.  See the examples below.
  268.  
  269.    Normally the DOS command line  supports  parameters  up  to  128  bytes.
  270.    Indirect parameter files may  be  used  for  changes that either require
  271.    more than 128 bytes of input OR may be  used  many  times in the future.
  272.    The total size of the the parameter string may now exceed 60KB.
  273.  
  274.    Indirect Parameter Files:
  275.  
  276.    To use an indirect file place an '@' at the beginning of the name of the
  277.    indirect file on the command line.  The indirect file itself may contain
  278.    anything that is normally  allowed  on  the  command  line  for  CHANGE.
  279.    Switches specified in the indirect file may be overridden or added to by
  280.    specifying the new switches on the command line following  the  indirect
  281.    file's name.
  282.  
  283.    CHANGE TEST.PAS @varchang.lis /SUBDIR
  284.  
  285.    This would include  the  list  of  change  strings  found  in  the  file
  286.    VARCHANG.LIS  in  the  current  directory.   The  lines  in the file are
  287.    concatenated together with a space appended to the end of each line.  If
  288.    the resulting  command line  has  an  uneven  number  of  CHANGE strings
  289.    specified an error will be reported.
  290.  
  291.    Ex:  1.  To rename the ever popular 'foobar' variable to 'MyVar' in the
  292.             program 'test.pas' you would use the following CHANGE command:
  293.             CHANGE test.pas 'foobar' 'MyVar'
  294.  
  295.         2.  To do the same in all of your Pascal files in a given directory
  296.             you would use:     CHANGE *.pas 'foobar' 'MyVar'
  297.  
  298.         3.  To do the same in all of your Pascal files on a given drive you
  299.             would use:         CHANGE *.pas 'foobar' 'MyVar' /all
  300.  
  301.         4.  To change foobar to #@^foobar (use of special chars) double  up
  302.             the special chars.  Use: CHANGE *.pas 'foobar' '##^^@@foobar'
  303.  
  304.                                      5
  305.  
  306.                                 CHANGE v2.02
  307.  
  308.  
  309.         4.  To change strings that contain special characters you  need  to
  310.             represent  the  special  characters in some fashion and 'allow'
  311.             CHANGE to see them.  Any character in  the  ASCII  set  may  be
  312.             specified  in  a  QUOTED  STRING  by  using a # followed by the
  313.             character's three digit decimal ASCII code, for  instance  #007
  314.             is the BEL character.
  315.  
  316.             To reformat a LF delimited text file into a more standard  CRLF
  317.             delimited file use the following:
  318.                CHANGE STRANGE.C ^J ^M^J
  319.  
  320.         5.  To change instances of a string only at the start or end  of  a
  321.             line use:
  322.             CHANGE text.fil 'EndString' 'NewEndString'/Prefix
  323.             CHANGE text.fil 'StartString' 'NewStartString'/SUffix
  324.  
  325.         6.  Several CHANGEs may be combined.  The  following  CHANGE  turns
  326.             the  variables  called 'var1' into 'MyOtherVar' and reformats a
  327.             LF delimited text file to a CRLF delimited text file.
  328.             CHANGE *.pas 'foobar' 'MyVar' 'var1' 'MyOtherVar' #10 #13#10
  329.  
  330.         7.  If you have a large or complex change like the one above it  is
  331.             often  better  to  use  an  indirect  file.  The indirect file,
  332.             'BIGCHG.IND', for that change would look like this:
  333.  
  334.             ! Comments are allowed within indirect files.
  335.             ! They are lines that being with an '!'
  336.             'foobar'          'MyVar'
  337.             'var1'            'MyOtherVar'
  338.             #10               #13#10
  339.  
  340.             And the invocation of CHANGE would be:
  341.             CHANGE *.PAS @BIGCHG.IND
  342.  
  343.    Change History
  344.  
  345.    The following changes have been  made  to  CHANGE  since  it's  original
  346.    release:
  347.  
  348.         1.  v1.00 - initial release.
  349.         2.  V1.01 - New features and minor bugfixes:
  350.              o  Added /BINARY_MODE.
  351.              o  Speeded up the /TEXT_MODE operation.
  352.              o  Added multiple match,replace string capability.
  353.              o  made a bugfix the error recovery.
  354.         3.  V1.02 - New features:
  355.              o  Add /ANY_ATTRIBUTE.
  356.              o  Add /CONFIRM_CHANGE.
  357.              o  Released as Shareware.
  358.  
  359.                                      6
  360.  
  361.                                 CHANGE v2.02
  362.  
  363.  
  364.         4.  V1.03 - New features:
  365.              o  Fixed display of files as each is  completed  the  name  is
  366.                 left on a line of it's own.
  367.              o  Now when a file is scanned, but has no matches  it  is  NOT
  368.                 updated.   Previously  ALL  files  that were looked at were
  369.                 marked as updated.
  370.         5.  V1.04 - New features:
  371.              o  /SUB now causes matching files in the current or  specified
  372.                 directory and it's sub-directories to be processed.
  373.              o  A new /SHOW_CONTEXT switch to:
  374.                  -  display the LINE that is about to be changed.
  375.                  -  allow the user to confirm changes on an  item  by  item
  376.                     basis.
  377.              o  A new /WHOLE_WORDS switch to only match when the string  is
  378.                 surrounded by non-alphanumerics.
  379.              o  a new /[NO]LOG switch has been added to allow the  user  to
  380.                 specify  that  progress messages should [NOT] be written to
  381.                 the console.  The default is /LOG.
  382.              o  a new /[NO]UNIQUE_BAK switch has been added  to  allow  the
  383.                 user  to  specify  that  CHANGE  should  not  overwrite any
  384.                 existing .BAK files.  Now if there  is  a  conflict  CHANGE
  385.                 attempts to use .BAL then .BAM etc...
  386.              o  bug fixes:
  387.              o  In previous versions if you attempted to CHANGE a text file
  388.                 that  was not CRLF delimited without using /BINARY_MODE the
  389.                 output file would be truncated to 257 bytes.  This has been
  390.                 trapped  for  and  a  warning  is  issued  allowing  you to
  391.                 allow/disallow saving the changes made.
  392.  
  393.                 A backup file has always been made to presere the  original
  394.                 file.
  395.              o  In previous versions if you made a change with  a  wildcard
  396.                                              t
  397.                 filespec  that  like  TEST.  to process TEST.001, TEST.002,
  398.                 etc.  the backup files would  be  created  on  top  of  one
  399.                 another.   CHANGE  would only leave the backup file for the
  400.                             f
  401.                 last TEST.  file processed  intact.   Now  the  /UNIQUE_BAK
  402.                 option is enabled when this situation is detected.
  403.              o  In previous versions if you made a change with  a  wildcard
  404.                                                                 ,
  405.                 filespec  that included backup files (ex.  TEST., TEST.B??)
  406.                 CHANGE would loop back around and process the backup  files
  407.                 as well.  This situation is now detected and informs you of
  408.                 the problem and warns you that if  you  decide  to  proceed
  409.                 CHANGE will NOT CREATE BACKUP FILES for the files changed.
  410.         6.  V1.05 - New features:
  411.              o  When using the  /SHowcontext  switch  there  are  some  new
  412.                 responses  that  are  allowed.  Pressing ESC will cause the
  413.                 rest of the file to be copied with  out  any  more  changes
  414.                 being  made.   No more prompting will be done.  The changes
  415.                 that have been allowed to date will be saved.   Pressing  Z
  416.                 will  cause  the rest of the file to be copied APPLYING all
  417.                 of the changes to the rest of the  file  without  any  more
  418.                 prompting.
  419.                 In either of these cases prompting  for  each  change  will
  420.                 resume  in the next file to be processed if the changes are
  421.                 being made to a wildcard list of files.
  422.              o  Optimized the io buffer sizes for Maximum io performance.
  423.              o  Optimized the code for speed in the critical areas and  for
  424.                 size elsewhere.
  425.  
  426.                                      7
  427.  
  428.                                 CHANGE v2.02
  429.  
  430.         7.  v2.00 - New features and modifications:
  431.              o  rewrote /Binary_file for speed.
  432.              o  Changed /Text_file to be the optional mode.  /Text_file  is
  433.                 faster, but it does not handle files containing binary data
  434.                 gracefully.  Use /Text_file for making the fastest  changes
  435.                 possible to CRLF delimited text files.
  436.              o  Enabled /WHolewords in /Binary_file.
  437.              o  Enabled /SHowcontext for /Binary_file.
  438.              o  Greatly improved the way the context is displayed.
  439.              o  Removed /SHowcontext feature from /Text_file.
  440.              o  Added  /Prefix  and  /SUffix   to   both   /Text_file   and
  441.                 /binary_file.
  442.  
  443.                 When /SUffix is specified 'this' will match 'xthis' but not
  444.                 'this'  or  'xthisx' or 'thisx'.  When /Prefix is specified
  445.                 'this' will match 'thisx' but not  'this'  or  'xthisx'  or
  446.                 'xthis'.   The  /WHolewords switch implies BOTH /SUffix and
  447.                 /Prefix.
  448.  
  449.         8.  v2.01 - New features and modifications:
  450.              o  In  addition  to wildcards, the command  line  now  supports
  451.                 comma-delimited  lists of filenames.   This will allow files
  452.                 with extremely different names  to be processed in one pass.
  453.              o  The  command  line  was  limited  to  255  characters.  This
  454.                 restriction has been increased to 64K.
  455.                 The insertion of  control  characters  has  been enhanced to
  456.                 allowing x#1x x#01x and x#001x all to be  converted to a ^A.
  457.                 ^A  is also supported  for entering control characters.   To
  458.                 enter a # or ^ use two of them in succession: x##1x -> x#1x.
  459.              o  Added a /[NO]BACKUPS switch  to allow the user to select not
  460.                 to  create  backups.   -  NOT   RECOMMENDED,  but  sometimes
  461.                 expedient.
  462.              o  Fixed a bug in the /unique_bak extension routines.
  463.                 It would rename the datafile into a backup file inside  the
  464.                 \$TEMP!.@$ directory.
  465.              o  CHANGE D:\*.BAT ....    would crash if the default drive was
  466.                 NOT D:.  - Fixed.
  467.              o  The /TEXT/SH combination  was exiting without any action  at
  468.                 all.   Now  it  switches  to   /Binary_mode  and   continues
  469.                 normally.  /Text_mode does not support /SHOW_CONTEXT.
  470.              o  The /SHOW_CONTEXT display would  wander randomly from hex to
  471.                 ascii.  Now the  display  always  shows a hexdump.  Pressing
  472.                 'A' will switch to an ASCII display.
  473.              o  In /Confirm the file name was not being displayed.  - Fixed.
  474.              o  /Confirm would originally  give  no indication it responded.
  475.                 Now the heading for the context window shows the offset into
  476.                 the file. This is updated with each redisplay of the window.
  477.  
  478.         9.  v2.02 - New features and modifications:
  479.              o  Now switches will match uniquely.
  480.              o  Switches that are unknown force the help screen to pop up.
  481.              o  Fixed a small  problem  when  specifying  directory names in
  482.                 /NOALL mode.
  483.              o  In /SHow the  filenames  are being clobbered when successive
  484.                 filenames are shorter.   - Fixed.
  485.              o  Added a help screen to /SHow_context.  Access with '?'.
  486.  
  487.                                      8
  488.  
  489.                                 CHANGE v2.02
  490.  
  491.  
  492.    Known Problems:
  493.  
  494.    The following problems are known to exist in this version:
  495.  
  496.  
  497.         1.  When CHANGE is used on a file that had DOS file protection bits
  498.             set,  the  protection  bits are LOST!  When CHANGE finds one of
  499.             these files and it is told it is Ok to change it,  CHANGE  sets
  500.             the  file's protection to ARCHIVE only.  When the original file
  501.             is renamed to the .BAK version it is left with just the ARCHIVE
  502.             bit  set.   The new version of the file is set to ARCHIVE only.
  503.             It is left  up  to  the  User  to  reset  the  file  protection
  504.             appropriately.
  505.  
  506.             I don't view this as a problem, but you should be aware of it.
  507.  
  508.         2.  When running CHANGE on a Netware file volume you must have  the
  509.             privleges   required   to  edit  the  files  and  to  create  a
  510.             subdirectory off the  directory  containing  the  files  to  be
  511.             CHANGEd.
  512.  
  513.         3.  When using /WHOLE_WORDS or the prefix switches  it is  possible
  514.             to confuse the pattern matcher.  An  error is generated warning
  515.             you that not all requested changes  were made.  There is no the
  516.             /BACKup status  is changed  to /BACKup to  ensure  that you can
  517.             recover and  processing continues.  I have  yet to  have anyone
  518.             report running into this message in normal use.
  519.  
  520.    Planned Changes:
  521.  
  522.         I will be rewriting the main (/BINARY)  change loop in ASM to speed
  523.         it up.  The goal  is  to  eliminate  the  need  for  the /TEXT mode
  524.         entirely.  This change will  also  cut about 15% off of the current
  525.         size of CHANGE.EXE.
  526.  
  527.         CHANGE is currently 98% Pure Turbo Pascal.
  528.  
  529.         If I get enough requests I will  be adding unix grep style 'regular
  530.         expression' pattern matching.  If you need this please let me know!
  531.  
  532.         Barring the unexpected  these will  be  released as a part of v2.03
  533.         sometime in the spring-summer of 1992.
  534.  
  535.    ENCOUNTERING PROBLEMS:
  536.  
  537.    If you wish to report a problem  with  this software I can be reached at
  538.    the above address, or send  electronic  mail to me via Bix (JClinton) or
  539.    CompuServe (70244,1340).  Please  provide as much detail into the nature
  540.    of the problem encountered, along with the system configuration details.
  541.  
  542.           Telephone Support is now  available for registered users at
  543.          (617) 364-4515 Monday through Friday between 8am and 5pm EST.
  544.  
  545.           As always I am welcome new ideas, comments and suggestions!
  546.  
  547.  
  548.                                      9
  549.